Mikmak validatie implementeren
Home

Mikmak validatie implementeren

Mikmak validatie implementeren

Ik kan niet genoeg op noodzaak van het valideren van gegevensinput wijzen.

UnitBase Inserting View pagina

Validatieregels in het model

We hebben businessregels toegevoegd in het UnitBase model. Je vindt die terug in Mikmak Model UnitBase.

Valideren in de Controller

Hoe je valideert kan je lezen in ASP.NET MVC Gegevens valideren.

We passen de Insert methode in de UnitBaseController aan:

[HttpPost]
public ActionResult Insert(string UnitBaseCode, string UnitBaseName,
    string UnitBaseDescription)
{
    Models.Dal dal = new Models.Dal();
    Models.UnitBase unitBase = new Models.UnitBase();
    unitBase.Code = UnitBaseCode;
    unitBase.Name = UnitBaseName;
    unitBase.Description = UnitBaseDescription;
    if (TryValidateModel(unitBase))
    {
        dal.DbSetUnitBase.Add(unitBase);
        dal.SaveChanges();
    }
    return View("Inserting", dal.DbSetUnitBase);
}

Feedback op de MasterLayout.cstml pagina

We dumpen de hele ModelState in de feedback div op de MasterLayout.cshtml pagina;

<div id="feedback">
    @ViewBag.Feedback
    @foreach (var item in ViewContext.ViewData.ModelState)
    {
        if (item.Value.Errors.Any())
        {
            <tr>
                <td><b>@item.Key</b></td>
                <td>@((item.Value == null || item.Value.Value == null) ? "<null>" : item.Value.Value.RawValue)</td>
                <td>@(string.Join("; ", item.Value.Errors.Select(x => x.ErrorMessage)))</td>
            </tr>
        }
    }
</div>

Feedback op de Inserting View pagina

We tonen alleen de validatiefoutmeldingen op de Inserting View pagina en we gebruiken de statische ValidationSummary methode van de Html helperklasse daarvoor:

<div class="feedback">
   @Html.ValidationSummary()
</div>

JI
2016-12-10 14:09:25